﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZBJF.Warranty.Common.Common;
using ZBJF.Warranty.Common.Enums.InsuranceWarranty;
using ZBJF.Warranty.Model.ViewModel.BaseQueryModel;

namespace ZBJF.Warranty.Model.ViewModel.InsuranceWarranty
{
    public class ExportInsuranceWarrantyRecordDetails 
    {
        /// <summary>
        /// 报案单号
        /// </summary>
        public string WarrantyRecordNo { get; set; }
        /// <summary>
        /// 报案人
        /// </summary>
        public string Reporter { get; set; }
        /// <summary>
        /// 报案人电话
        /// </summary>
        public string ReporterPhone { get; set; }
        /// <summary>
        /// 被保险人
        /// </summary>
        public string UserName { get; set; }
        /// <summary>
        /// 被保险人电话
        /// </summary>
        public string UserPhone { get; set; }
        /// <summary>
        /// 被保险人证件号
        /// </summary>
        public string CertificateNO { get; set; }
        /// <summary>
        /// 保险类型
        /// </summary>
        public string InsuranceCategoryName { get; set; }
        /// <summary>
        /// 保险产品名称
        /// </summary>
        public string ProductName { get; set; }




        /// <summary>
        /// 第三方承保公司
        /// </summary>
        public string InsuranceCompany { get; set; }
        /// <summary>
        /// 承保公司分公司
        /// </summary>
        public string InsuranceCompanyBranch { get; set; }
        /// <summary>
        /// 销售商户
        /// </summary>
        public string SaleVendorName { get; set; }

        /// <summary>
        /// 关单时间
        /// </summary>
        public DateTime lastModifyTimeTemp { get; set; }
        /// <summary>
        /// 关单时间
        /// </summary>
        public string LastModifyTime {
            get
            {
                return lastModifyTimeTemp > DateTime.MinValue
                    ? lastModifyTimeTemp.ToString("yyyy-MM-dd HH:mm:ss")
                    : null; //关单时间（最后编辑时间）
            }
        }


        /// <summary>
        /// 应收金额
        /// </summary>
        public decimal? ReceivableAmount { get; set; }
        /// <summary>
        /// 收款状态
        /// </summary>
        public byte? ReceiptStatus { get; set; }

        /// <summary>
        /// 收款状态名称
        /// </summary>
        public string ReceiptStatusDesc {
            get
            {
                return EnumHelper.Instance.GetDescription(typeof(InsuranceWarrantyReceiptStatus), ReceiptStatus);
            }
        }

        /// <summary>
        /// 收款时间
        /// </summary>
        public DateTime? ReceiptTimeTemp { get; set; }

        /// <summary>
        /// 收款时间
        /// </summary>
        public string ReceiptTime
        {
            get { return ReceiptTimeTemp.HasValue ? ReceiptTimeTemp.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; //收款时间
            }
        }
        /// <summary>
        /// 应付金额
        /// </summary>
        public decimal? PayableAmount { get; set; }


        /// <summary>
        /// 付款状态
        /// </summary>
        public byte? PaymentStatus { get; set; }
        /// <summary>
        /// 付款状态 名称
        /// </summary>
        public string PaymentStatusDesc
        {
            get
            {
                return EnumHelper.Instance.GetDescription(typeof(InsuranceWarrantyPaymentStatus), PaymentStatus);
            }
        }
        /// <summary>
        /// //收款时间
        /// </summary>
        public DateTime? PaymentTimeTemp { get; set; }

        /// <summary>
        /// 收款时间
        /// </summary>
        public string PaymentTime
        {
            get
            {
                return PaymentTimeTemp.HasValue ? PaymentTimeTemp.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; //收款时间
            }
        }
        /// <summary>
        /// 主键
        /// </summary>
        public string OurBankAccount { get; set; }
        /// <summary>
        /// 主键
        /// </summary>
        public string OurBankName { get; set; }
        /// <summary>
        /// 主键
        /// </summary>
        public string OurBankAccountName { get; set; }
        /// <summary>
        /// 主键
        /// </summary>
        public string ThirdBankAccount { get; set; }
        /// <summary>
        /// 主键
        /// </summary>
        public string ThirdBankName { get; set; }
        /// <summary>
        /// 主键
        /// </summary>
        public string ThirdBankAccountName { get; set; }
        /// <summary>
        /// 主键
        /// </summary>
        public string BankTransactionSN { get; set; }
        /// <summary>
        /// 主键
        /// </summary>
        public string BankAccountName { get; set; }
    }
}
